package com.gymmsystem.GYMMSystem.entity;

import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import java.time.LocalDateTime;

@Data
@TableName("courses")
public class Course {
    // 课程ID
    @TableId(value = "c_id", type = IdType.AUTO)
    @JsonProperty("cId")
    private Long cId;

    // 教练ID
    @TableField("c_t_id")
    @JsonProperty("cTId")
    private Long cTId;

    // 课程名
    @TableField("c_name")
    @JsonProperty("cName")
    private String cName;

    // 课程等级：初级、中级、高级
    @TableField("c_grade")
    @JsonProperty("cGrade")
    private String cGrade;

    // 课程简介
    @TableField("c_introduction")
    @JsonProperty("cIntroduction")
    private String cIntroduction;

    // 课程图片URL
    @TableField("c_image")
    @JsonProperty("cImage")
    private String cImage;

    // 课程开始时间
    @TableField("c_time")
    @JsonProperty("cTime")
    private LocalDateTime cTime;

    // 课程时长(分钟)
    @TableField("c_duration")
    @JsonProperty("cDuration")
    private Integer cDuration;

    // 限制人数
    @TableField("c_max")
    @JsonProperty("cMax")
    private Integer cMax;

    // 当前预约报名人数
    @TableField("c_current")
    @JsonProperty("cCurrent")
    private Integer cCurrent;

    // 状态：即将开始（c_time之前），进行中（c_time + c_duration）之间，已结束（c_time + c_duration）之后
    @TableField(exist = false)
    @JsonProperty("cRunStatus")
    private String cRunStatus;

    // 状态：0-下架，1-上架
    @TableField("c_status")
    @JsonProperty("cStatus")
    private Integer cStatus;

    // 创建时间
    @TableField(value = "c_created_at", fill = FieldFill.INSERT)
    @JsonProperty("cCreatedAt")
    private LocalDateTime cCreatedAt;
}